import dao.UserDao;
import dao.impl.UserDaoImpl;
import dao.proxy.UserDaoProxy;

import java.lang.reflect.Proxy;
//JDK动态代理实现
public class Main {
    public static void main(String[] args) {
        //创建接口实现类代理对象
        Class[] interfaces = {UserDao.class};
        //newProxyInstance 返回指定接口的代理类的实例
        //参数：类加载器   增强方法所在类的实现接口，支持多个接口     创建代理对象
        UserDao dao =
                (UserDao) Proxy.newProxyInstance(Main.class.getClassLoader(),interfaces,new UserDaoProxy(new UserDaoImpl()));
        int res = dao.add(1,2);
        System.out.println("主程序："+res);
        dao.delete("1");
    }
}
